/**
 * @作者 zxy
 * @时间 2023-03-30 17:38
 * @说明
 */
public class Solution {

    /**
     * 执行用时：0 ms, 在所有 Java 提交中击败了100.00%的用户
     * 内存消耗：41.3 MB, 在所有 Java 提交中击败了86.96%的用户
     * @param root
     * @return
     */
    public int maxDepth(Node root) {
        if (root == null) return 0;
        return maxDep(root, 1);
    }

    public int maxDep(Node node, int depth) {
        if (node.children.size() == 0) return depth + 1;
        else {
            int max = 0;
            for (int i = 0; i < node.children.size(); i++) {
                max = Math.max(max, maxDep(node.children.get(i), depth + 1));
            }
            return max;
        }
    }
}
